在 JavaScript 中,非同步編程是處理耗時操作(如 API 請求、讀取文件)的關鍵。傳統的回調函數(callback)容易造成「回調地獄」,而 ES6 引入了 Promise 和 async/await,簡化了非同步流程。
Promise 是一種用來處理非同步操作的對象,它代表未來某個時間點的結果(成功或失敗)。透過 .then() 方法可以處理成功的結果,而 .catch() 用來捕獲錯誤。範例:
async/await 是基於 Promise 的語法糖,讓非同步代碼像同步代碼一樣易讀。async 關鍵字定義一個非同步函數,await 用來等待 Promise 完成。範例:
這種方式避免了嵌套的回調,提升了代碼的可讀性,特別適合處理多個非同步操作的情況。